package com.mf.service.basic;

import com.mf.entity.dto.basic.DtoPermission;

import com.mf.entity.req.basic.search.SearchReqPermission;
import com.mf.entity.vo.basic.voPublic.VoPublicKV;
import com.mf.service.BaseService;

import java.util.List;


/**
 * 权限表
 */
public interface ServicePermission extends BaseService<DtoPermission, SearchReqPermission> {
    /**
     * 删除
     */
    void deleteById(Integer id);


    /**
     * 根据角色id查询绑定的权限
     */
    List<DtoPermission> findByRoleId(Integer roleId);

    /**
     * 根据角色id查询待绑定权限
     */
    List<DtoPermission> findByNoRoleId(Integer roleId);

    /**
     * 根据角色Id集合查询权限
     */
    List<String> listByRoleId(List<Integer> roleIds);

    /**
     * 根据类型查询权限码
     */
    List<VoPublicKV> findByType(List<String> type);

    /**
     * 修改权限
     */
    void permissionUpdateById(DtoPermission dtoPermission);

    /**
     * 复制权限码
     */
    void copy(Integer id);
}

